package cn.csg.iotplatform.module.system.controller.admin.manufacturer.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 厂商信息新增/修改 Request VO")
@Data
public class ManufacturerSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19984")
    private String id;

    @Schema(description = "厂商类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotEmpty(message = "厂商类型不能为空")
    private String manufacturerType;

    @Schema(description = "厂商编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String manufacturerNo;

    @Schema(description = "厂商名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotNull(message = "厂商名称不能为空")
    private String manufacturerName;

    @Schema(description = "厂商id", example = "16790")
    private String manufacturerId;

    @Schema(description = "厂商简称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    private String manufacturerShortName;

    @Schema(description = "统一社会信用代码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "统一社会信用代码不能为空")
    private String unifiedSocialCreditCode;

    @Schema(description = "官方网址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    private String manufacturerUrl;

    @Schema(description = "客服邮箱")
    private String serviceEmail;

    @Schema(description = "客服电话")
    private String serviceTel;

    @Schema(description = "营业执照注册号")
    private String businessCode;

    @Schema(description = "营业执照附件", example = "https://www.iocoder.cn")
    private String businessUrl;

    @Schema(description = "logo图片地址")
    private String logo;

    @Schema(description = "认证状态 0:同意 1不同意", example = "2")
    private String authStatus;

    @Schema(description = "省")
    private String province;

    @Schema(description = "市")
    private String city;

    @Schema(description = "区")
    private String area;
    @Schema(description = "所在地")
    private String manufacturerAddress;

    @Schema(description = "详细地址")
    private String manufacturerAddressDetail;

    @Schema(description = "联系人")
    private String manufacturerUser;

    @Schema(description = "联系电话")
    private String manufacturerTel;

    @Schema(description = "联系人地址")
    private String contactAddress;

    @Schema(description = "联系人邮箱")
    private String contactEmail;

    @Schema(description = "公司简介")
    private String introduce;

    @Schema(description = "备注")
    private String note;

    @Schema(description = "数据来源：(1-电网管理平台、2-物联网平台)")
    private Integer dataSource;

    @Schema(description = "启动状态：(0-停用、1-启用)", example = "2")
    private Integer enablingStatus;

    @Schema(description = "同步状态：(0-未同步、1-已同步)", example = "0")
    private Integer syncDataStatus;

    @Schema(description = "资质证书", example = "json数组")
    private List<Map<String,Object>> certificates;

    @Schema(description = "电网类型", example = "0")
    private Integer powerGridFlag;
}